* Allow all (*) for selecting series. Keyword 'all' replaces 'points' which
is now a deprecated keyword.
- * Solved compiler warnings. (issue #96)
\ No newline at end of file
+ * Solved compiler warnings. (issue #96)
+
+ * Added the following server statistics properties:
+ - active_tasks: returns the number of active tasks for the current database
+ - idle_time: returns the seconds the database was idle since uptime.
+ - idle_percentage: returns the percentage of idle time since uptime.
+ (Note: idle mean no active tasks for the current database)
+
\ No newline at end of file
int8_t siridb_get_idle_percentage(siridb_t * siridb)
{
double uptime = (double) siridb_get_uptime(siridb);
- return (uptime)
+ int8_t idle = (uptime)
? (int8_t) round(siridb->tasks.idle_time / uptime * 100.0f)
: 0;
+ /* idle time can technically be larger since we start a database before we
+ * mark the server as started.
+ */
+ return (idle > 100) ? 100 : idle;
}
result = await self.client1.query('list servers log_level')
self.assertEqual(result.pop('servers'), [['info'], ['info']])
- result = await self.client1.query('list servers active_tasks where active_tasks >= 0 and idle_time >= 0 and idle_percentage <= 100')
+ result = await self.client1.query('list servers active_tasks where active_tasks == 1 and idle_time >= 0 and idle_percentage <= 100')
self.assertEqual(result.pop('servers'), [[1], [1]])
result = await self.client0.query('alter servers where active_handles > 1 set log_level debug')